5 参数说明

5.1 parameter参数列表



















5.2 detail参数详细描述

参数名称: task

默认值:

可选值: scf/relax/dos/band/optical/potential/elf/pcharge/neb/frequency/phonon/elastic/aimd/epsilon/wannier

描述: task 参数表示计算的类型,必须设置; scf/relax 可以是从头计算(不需要设置 cal.iniChargecal.iniWave )也可以导入电荷密度或波函数(设置 cal.iniChargecal.iniWave ); dos/band/optical/potential/elf 为后处理计算,必须要读取电荷密度,在导入电荷密度的同时可选择性的导入波函数(必须设置 cal.iniCharge ,选择性设置 cal.iniWave );

案例: task = scf


参数名称: sys.pseudoType

默认值: -1

可选值: -1/10/11

描述: sys.pseudoType 参数为设置 DS-PAW 计算所需的赝势格式;-1表示使用hzw赝势(.paw),目前DS-PAW支持 **H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe Cs Ba La Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn* 72种元素的hzw赝势; 10表示外部potcar格式赝势(.potcar), 11表示外部pawpsp格式赝势(.pawpsp);

案例: sys.pseudoType = -1


参数名称: sys.pseudoPath

默认值:sys.pseudoType =-1时,无需设置该参数,程序只能从安装路径 /pseudopotential 读取赝势文件 ;sys.pseudoType = 10,默认值 ./sys.pseudoType = 11,默认值 ./

描述: sys.pseudoPath 参数为设置 DS-PAW 计算所需的赝势所在路径;一般无需自行设置,读取hzw赝势时会从默认存储路径读取,读取外部赝势时会默认从当前路径读取;

案例: sys.pseudoPath = ./


参数名称: sys.structure

默认值: atoms.as

可选值: .as /.h5 /.json

描述: sys.structure 参数设置结构文件的路径,支持 .as.h5.json 格式,支持绝对路径和相对路径;使用DS-PAW进行结构弛豫默认生成 relax.h5 文件,可直接设置 sys.structure = relax.h5 读取弛豫后的结构进行计算;(.json文件暂可支持但不建议用户使用,DS-PAW会在迭代版本过程中完全摒弃json格式的输出)

案例: sys.structure = relax.h5


参数名称: sys.symmetry

默认值: true

可选值: true/false

描述: sys.symmetry 该参数表示DS-PAW计算时是否进行对称性分析;

案例: sys.symmetry = false


参数名称: sys.symmetryAccuracy

默认值: 1.0e-5

可选值: real

描述: sys.symmetryAccuracy 该参数表示DS-PAW计算时对称性分析的精度;

案例: sys.symmetryAccuracy = 1.0e-6


参数名称: sys.functional

默认值: LDA

可选值: LDA/PBE/REVPBE/RPBE/PBESOL/vdw-optPBE/vdw-optB88/vdw-optB86b/vdw-DF/vdw-DF2/vdw-revDF2

描述: sys.functional 参数指定DS-PAW的泛函类型,如果 sys.functional=LDA 则会去读取指定路径下的LDA赝势;vdw开头的系列赝势对应泛函类的范德瓦尔斯校正方法;

案例: sys.functional = PBESOL


参数名称: sys.spin

默认值: none

可选值: none/collinear/non-collinear

描述: sys.spin 参数指定计算的自旋性质; none 表示没有自旋, collinear 表示共线自旋, non-collinear 表示一般自旋;

案例: sys.spin = collinear


参数名称: sys.spinDiff

默认值:

可选值: [0,inf)

描述: 设置上下自旋电子数的差;

案例: sys.spinDiff = 1


参数名称: sys.soi

默认值: false

可选值: true/false

描述: sys.soi 表示是否考虑自旋轨道耦合效应;自旋轨道耦合效应需要在sys.spin=non-collinear时才会生效;

案例: sys.soi = true


参数名称: sys.electron

默认值: 所有价电子的总和

可选值: real

描述: sys.electron 参数指定价电子的总数;DS-PAW通过引入背景电荷的方法计算带电体系;

案例: sys.electron = 12


参数名称: sys.hybrid

默认值: false

可选值: true/false

描述: sys.hybrid 参数指定是否使用杂化泛函;true表示引入杂化泛函,false表示不引入杂化泛函, sys.hybrid 只在 task = scf和relax 的时候生效,sys.hybrid 设置为true 时 sys.functional 不再生效;

案例: sys.hybrid = true


参数名称: sys.hybridType

默认值: HSE06

可选值: PBE0/HSE03/HSE06/B3LYP

描述: sys.hybridType 参数指定杂化泛函的类型;该参数只有在sys.hybrid = true时生效;

案例: sys.hybridType = HSE06


参数名称: sys.hybridAlpha

默认值:sys.hybridType = PBE0 时,默认值为 0.25 ,当 sys.hybridType = HSE06 时,默认值为 0.25 ,当 sys.hybridType = HSE03 时,默认值为 0.25

可选值: real

描述: sys.hybridAlpha 参数指定杂化泛函中精确的交换相关泛函的系数;该参数只有在sys.hybrid = true时生效;

案例: sys.hybridAlpha = 0.20


参数名称: sys.hybridOmega

默认值:sys.hybridType = PBE0 时,默认值为 0 ,当 sys.hybridType = HSE06 时,默认值为 0.2 ,当 sys.hybridType = HSE03 时,默认值为 0.3

可选值: real

描述: sys.hybridOmega 参数指定杂化泛函的屏蔽系数;该参数只有在sys.hybrid = true时生效;

案例: sys.hybridOmega = 0.2


参数名称: sys.sol

默认值: false

可选值: false/true

描述: sys.sol 参数指定是否应用隐式溶剂化模型;

案例: sys.sol = true


参数名称: sys.solEpsilon

默认值: 78.4

可选值: real

描述: sys.solEpsilon 参数指定溶剂介电常数,默认值为水的介电常数;

案例: sys.solEpsilon = 80


参数名称: sys.solTAU

默认值: 5.25E-4

可选值: real

描述: sys.solTAU 参数指定单位面积的有效界面张力的大小,单位eV/Å^2,该参数建议设置为小于1e-3的数值;

案例: sys.solTAU = 0


参数名称: sys.solLambdaD

默认值:

可选值: real

描述: sys.solLambdaD 参数指定泊松玻尔兹曼方程中德拜长度(Debye length)的数值,单位为Å,若不设置,使用泊松方程且忽略双电层离子对静电势的屏蔽效应;

案例: sys.solLambdaD = 3.04

备注

  1. 关于德拜长度 sys.solLambdaD, 其表达式为 \(\lambda_D = \sqrt\frac{\varepsilon \varepsilon_ok_B T}{2 c^0 z^2 q^2}\)

1M 带+/-1电荷阴阳离子的水溶液的德拜长度为:3.04 Å


参数名称: sys.fixedP

默认值: false

可选值: false/true

描述: sys.fixedP 参数为控制固定电势计算的开关,目前只与 task = scf 兼容;

案例: sys.fixedP = true


参数名称: sys.fixedPConvergence

默认值: 0.01

可选值: real

描述: sys.fixedPConvergence 参数指定固定电势计算的收敛精度,当前后两次自洽计算的delta_electron小于收敛精度,计算结束;

案例: sys.fixedPConvergence = 0.01


参数名称: sys.fixedPPotential

默认值:

可选值: real

描述: sys.fixedPPotential 参数指定固定电势计算的目标电极电势值,默认以标准氢电极(SHE)为参考电极电势;

案例: sys.fixedPPotential = 5.4723


参数名称: sys.fixedPType

默认值: SHE

可选值: SHE/PZC

描述: sys.fixedPType 参数指定sys.fixedPPotential给出的电势值的电势类型,SHE为以标准氢电极的电极电势作为参考值,PZC以零电荷电位为参考值;

案例: sys.fixedPType = SHE


参数名称: sys.fixedPMaxIter

默认值: 60

可选值: int

描述: sys.fixedPMaxIter 参数指定固定电势计算时最大迭代步数;

案例: sys.fixedPMaxIter = 100


参数名称: cal.iniCharge

默认值:

可选值: 指定rho.bin文件路径

描述: cal.iniCharge 参数表示用户可以通过指定DS-PAW自洽或结构弛豫计算得到的电荷密度文件 rho.bin 的路径进行后续的计算; task=scf/relax 时,如果不需要读取上一次的电荷密度时则不设置 cal.iniCharge ,如果需要如果读取上一次的电荷密度时则设置cal.iniCharge; 当task= dos/band/potential/elf时必须设置 cal.iniCharge 指定 rho.bin 的路径;文件路径支持相对路径和绝对路径;

案例: cal.iniCharge = ../scf/rho.bin


参数名称: cal.iniWave

默认值:

可选值: 指定wave.bin文件路径

描述: cal.iniWave 参数表示用户可以通过指定DS-PAW自洽或结构弛豫计算得到的波函数文件 wave.bin 的路径进行后续的计算;不设置此参数则表示不读取 wave.bin ;文件路径支持相对路径和绝对路径;

案例: cal.iniWave = ../scf/wave.bin


参数名称: cal.cutoffFactor

默认值: 1.0

可选值: real

描述: cal.cutoffFactor 表示截断能参数cal.cutoff的系数,当 cal.cutoffFactor=1.5 时,DS-PAW计算时使用的截断能为cal.cutoff*1.5。DS-PAW2022A版本内部赝势皆已完成测试,cutoffFactor设置默认值1.0已能满足大多计算要求;

案例: cal.cutoffFactor = 1.0


参数名称: cal.cutoff

默认值: 当前计算所用的元素赝势中截断能的最大值;

可选值: real

描述: cal.cutoff 参数表示DS-PAW软件计算时候使用的平面波基矢的截断能,可在安装路径 /pseudopotential 查看各赝势文件内置截断能ecutoff的大小,如从O_PBE.paw文件可读出O_PBE的ecutoff为480 eV。

案例: cal.cutoff = 480


参数名称: cal.methods

默认值: 1 (sys.hybrid = true时,默认值为4)

可选值: 1/2/3/4/5

描述: cal.methods 表示自洽电子部分优化的方法,1表示 BD(block Davidson) 方法;2表示 RM(residual minimization) 方法; 3表示 RM(residual minimization) 方法和 BD(block Davidson) 方法的组合;4表示 damped MD (阻尼分子动力学)方法;5表示 conjugated gradient (共轭梯度方法);其中4和5可以在杂化泛函中使用;

案例: cal.methods = 1


参数名称: cal.smearing

默认值: 1

可选值: 1/2/3/4

描述: cal.smearing 表示用何种方法来设置每个波函数的部分占有数Gaussian smearing/Fermi-smearing/Methfessel-Paxton order 1/tetrahedron method with Blochl corrections;

案例: cal.smearing = 2


参数名称: cal.sigma

默认值: 0.2

可选值: real

描述: cal.sigma 表示使用有限温度方法设置部分占有数时的展宽;

案例: cal.sigma = 0.01


参数名称: cal.kpoints

默认值: [1,1,1]

可选值: 3*1 int array

描述: cal.kpoints 表示DS-PAW设置布里渊区k点网格取样大小;

案例: cal.kpoints = [9,9,9]


参数名称: cal.ksamping

默认值: MP

可选值: MP/G

描述: cal.ksamping 表示DS-PAW自动生成布里渊区k点网格的方法, Monhkorst-Pack 方法/ Gamma centered 方法;

案例: cal.ksamping = G


参数名称: cal.totalBands

默认值: 与体系价电子数目相关

可选值: int

描述: cal.totalBands 表示DS-PAW计算中所包含的总能带数目;

案例: cal.totalBands = 100


参数名称: cal.opticalGrid

默认值: 2000

可选值: int

描述: cal.opticalGrid 表示DS-PAW计算光学性质时在能量区内的网格点数,只在io.optical时生效;

案例: cal.opticalGrid = 2000


参数名称: cal.iniFixedP

默认值:

可选值: 指定恒电势计算输出的h5文件的路径

描述: cal.iniFixedP 给出上一次恒电势计算所得h5文件的路径,DS-PAW读取该文件进行恒电势续算;

案例: cal.iniFixedP = ./scf.h5


参数名称: cal.FFTGrid

默认值: 取决于参数 cal.cutoff 和 cal.cutoffFactor

可选值: 3*1 int array

描述: cal.FFTGrid 给出晶胞在沿着三个晶格方向上的FFT-Grid格点数 ;

案例: cal.FFTGrid = [16,16,16]


参数名称: cal.supGrid

默认值: false

可选值: true/false

描述: cal.supGrid 为是否使用 support FFTGrid的开关,可加大FFT-Grid的密度;

案例: cal.supGrid = true


参数名称: io.charge

默认值: true

可选值: true/false

描述: 控制是否输出电荷密度文件 rho.binrho.h5 ;当io.charge=true时,生成 rho.binrho.h5 文件 ;

案例: io.charge = true


参数名称: io.elf

默认值: false

可选值: false/true

描述: 输出ELF的数据结果;当task=scf/relax时该参数生效 ;

案例: io.elf = true


参数名称: io.potential

默认值: false

可选值: false/true

描述: 输出势函数的数据结果;当task=scf/relax时该参数生效;当io.potential=true时,可以选择 potential.type 来设置输出势函数的类型;

案例: io.potential = true


参数名称: io.wave

默认值: task = wannier 且不读取wave.bin文件时默认值为 true, 其他task下默认值为 false

可选值: false/true

描述: 输出波函数的二进制文件 wave.bin ;当io.wave=true时,生成 wave.bin 文件;

案例: io.wave = true


参数名称: io.band

默认值: false

可选值: false/true

描述: 在task=scf时是否直接计算能带的开关;当io.band=true时,所有能带计算参数都生效;

案例: io.band = true


参数名称: io.dos

默认值: false

可选值: false/true

描述: 在task=scf时是否直接计算态密度的开关;当io.dos=true时,所有态密度计算参数都生效;

案例: io.dos = true


参数名称: io.optical

默认值: false

可选值: false/true

描述: 控制是否进行光学性质计算;io.optical=true仅在task=scf时生效,当该参数生效时对应的scf.h5文件会写入光学性质数据;

案例: io.optical = true


参数名称: io.bader

默认值: false

可选值: false/true

描述: 控制是否进行bader电荷计算;io.bader=true仅在task=scf时生效,当该参数生效时对应的scf.h5文件会写入bader电荷数据;

案例: io.bader = true


参数名称: io.polarization

默认值: false

可选值: false/true

描述: 控制是否进行铁电极化计算;io.polarization=true仅在task=scf时生效,当该参数生效时对应的scf.h5文件会写入铁电极化数据;

案例: io.polarization = true


参数名称: io.magProject

默认值: sys.spin=collinear以及sys.spin=non-collinear时默认值为true,其余情况为false

可选值: false/true

描述: 在磁矩计算中,控制是否在相应的h5输出文件中写入投影磁矩数据;

案例: io.magProject = true


参数名称: io.boundCharge

默认值: false

可选值: true/false

描述: 控制引入隐式溶剂模型时是否输出溶剂束缚电荷密度文件;

案例: io.boundCharge = true


参数名称: io.outJsonFile

默认值: true

可选值: true/false

描述: 控制是否输出json格式的输出文件;

案例: io.outJsonFile = false


参数名称: scf.max

默认值: 60

可选值: int

描述: scf.max 表示DS-PAW自洽计算时电子步的最大步数;

案例: scf.max = 100


参数名称: scf.min

默认值: 2

可选值: int

描述: scf.min 表示DS-PAW自洽计算时电子步的最少步数;

案例: scf.min = 5


参数名称: scf.mixBeta

默认值: 0.4

可选值: real

描述: scf.mixBeta 表示DS-PAW自洽计算时电子混合算法的Beta值;

案例: scf.mixBeta = 0.2


参数名称: scf.mixType

默认值: Pulay

可选值: Broyden/Kerker/Pulay

描述: scf.mixType 表示DS-PAW自洽计算时电子混合算法的类型,目前支持 Broyden方法Kerker方法Pulay方法

案例: scf.mixType = Pulay


参数名称: scf.convergence

默认值: 1.0e-4

可选值: real

描述: scf.convergence 表示DS-PAW自洽计算时,能量的收敛判据;

案例: scf.convergence = 1.0e-5


参数名称: scf.timeStep

默认值: 0.4

可选值: real

描述: scf.timeStep 参数控制cal.methods=4/5时的步长; 当cal.methods =4 时,scf.timeStep决定了MD的步长;步长太小会让计算收敛花费较多步数,步长太大会让scf计算发散; 当cal.methods =5 时,scf.timeStep决定了初始步长的大小,步长太大可能会让scf计算不稳定,步长太小可能会让计算不够准确;

案例: scf.timeStep = 0.4


参数名称: relax.max

默认值: 60

可选值: int

描述: relax.max 表示DS-PAW结构驰豫时,最大的离子步步数;

案例: relax.max = 300


参数名称: relax.freedom

默认值: atom

可选值: atom/volume/all/atom&shape

描述: relax.freedom 表示DS-PAW结构驰豫的自由度,atom表示只弛豫原子位置; volume表示只弛豫晶格体积;all表示弛豫原子位置、晶格体积和晶胞形状;atom&shape表示弛豫原子位置和晶格形状;

案例: relax.freedom = atom


参数名称: relax.methods

默认值: CG

可选值: CG/DMD/QN

描述: relax.methods 表示DS-PAW结构驰豫的方法,CG表示共轭梯度法; DMD表示阻尼分子动力学法; QN表示准牛顿方法;

案例: relax.methods = CG


参数名称: relax.convergenceType

默认值: force

可选值: force/energy

描述: relax.convergenceType 表示弛豫计算中收敛标准的选择,可以选择受力或以能量为收敛标准;

案例: relax.convergenceType = energy


参数名称: relax.convergence

默认值: 0.05/1e-4

可选值: real

描述: relax.convergence 表示DS-PAW结构驰豫时,原子受力或能量的收敛判据;选择力为收敛标准时默认值为0.05,选择能量为收敛标准时默认值为1e-4;

案例: relax.convergence = 0.01


参数名称: relax.stepRange

默认值: 0.5

可选值: real

描述: relax.stepRange 表示结构驰豫时,结构驰豫的中的缩放常数;

案例: relax.stepRange = 0.2


参数名称: relax.pressure

默认值: 0

可选值: real

描述: relax.pressure 表示将在特定外压下进行结构优化,也可用于修正Pullay stress error,单位 kbar ;

案例: relax.pressure = 100


参数名称: dos.range

默认值: [-10,10]

可选值: 2*1 array

描述: dos.range 表示当task=dos时,态密度计算能量的区间;

案例: dos.range = [-15,15]


参数名称: dos.resolution

默认值: 0.05

可选值: real

描述: dos.resolution 表示当task=dos时,态密度计算能量间隔精度;

案例: dos.resolution = 0.1


参数名称: dos.project

默认值: false

可选值: false/true

描述: dos.project 参数控制着投影态密度;当task=dos时,dos.project为 false/true ;若打开投影,dos.project= ture , 此时 dos.h5 文件中将会保存投影态密度的信息;若不打开投影,dos.project = false ;

案例: dos.project = true


参数名称: band.kpointsLabel

默认值:

可选值: n*1 string array

描述: 该参数只有在task=band时才能生效; band.kpointsLabel 为能带计算时高对称点标签, band.kpointsLabel数组的大小是band.kpointsCoord 数组大小的 1/3 ;比band.kpointsNumber数组大小大 1

案例: band.kpointsLabel = [G,M,K,G]


参数名称: band.kpointsCoord

默认值:

可选值: 3n*1 real array

描述: 该参数只有在task=band时才能生效; band.kpointsCoord 为能带计算时高对称点的分数坐标, band.kpointsCoord 数据大小是band.kpointsLabel数据大小的 3倍

案例: band.kpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0]


参数名称: band.kpointsNumber

默认值:

可选值: (n-1)*1 int array/ 1*1 int array

描述: 该参数只有在能带计算时生效; band.kpointsNumber 为每相邻两个高对称点之间的K点个数

  • 当参数长度为(n-1)*1 int array 时 band.kpointsNumberband.kpointsLabel 数据大小少 1

  • 当参数长度为 1*1 int array 时,以给定参数为基准,对所有高对称点进行等密度撒点,等密的最终撒点数可从DS-PAW.log的 band.kpointsNumber 读取;

案例: band.kpointsNumber = [100]


参数名称: band.project

默认值: false

可选值: false/true

描述: band.project 参数控制着投影能带;当task= band 时, 若设置 band.project= ture , 则 band.h5 文件中会保存投影能带的信息;若不打开投影,设置band.project = false ;

案例: band.project = true


参数名称: band.unfolding

默认值: false

可选值: false/true

描述: band.unfolding 参数是能带去折叠的开关;当task= band 时, band.unfolding生效(io.band = true不生效),若设置band.unfolding= ture , band.h5 文件中会保存反折叠能带数据 ;

案例: task = band, band.unfolding = true


参数名称: band.primitiveUVW

默认值:

可选值: 9*1 real array

描述: band.primitiveUVW 能带去折叠计算时,超胞的晶格常数乘上UVW系数等于原胞的晶格矢量;

案例: band.primitiveUVW = [0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0]


参数名称: band.EfShift

默认值: task=band时为true,其他task时为false

可选值: true/false

描述: band.EfShift 参数表示task=band时,是否从rho.bin中读取EFermi,仅在task=band时生效;

案例: band.EfShift = true


参数名称: optical.Grid

默认值: 2000

可选值: int

描述: optical.Grid 表示DS-PAW计算光学性质时在能量区内的网格点数,只在io.optical和task=optical时生效;

案例: optical.Grid = 2000


参数名称: optical.KKEta

默认值: EnergyAxe resolution*0.99

可选值: real

描述: optical.KKEta 利用Kramers-Kroning关系求解介电函数实部时的 \(\eta\) 值。使用默认值时,结果可能很不平滑。 增大 \(\eta\) 可以让结果更加平滑,但会让低频区域介电函数值计算结果出现一定程度错误。不建议使用过大的 \(\eta\) ,建议通过增加格点数(optical.Grid)让结果更平滑。 (未增加此参数的旧版本中, \(\eta\) 值为0.1)

案例: optical.KKEta = 0.1


参数名称: optical.smearing

默认值: 1

可选值: 1/2/3

描述: optical.smearing 决定在optical计算时对能量展宽时的展宽算法。1/2/3分别对应Gaussian smearing/Fermi smearing/Methfessel-Paxton order 1;

案例: optical.smearing = 1


参数名称: optical.sigma

默认值: 0.05

可选值: real

描述: optical.sigma 决定使用optical.smearing决定的展开算法时的展宽宽度;

案例: optical.sigma = 0.05


参数名称: optical.Emax

默认值: 未占据态的最大能量*1.2 (eV)

可选值: real

描述: optical.Emax 决定optical计算时频率(EnergyAxe)的最大值;

案例: optical.Emax = 20


参数名称: potential.type

默认值: total

可选值: total/hartree/all

描述: potential.type 控制静电势的输出类型;当potential.type = hartree, potental.h5 文件写入静电势(离子势和hartree势之和),当potential.type = total, potental.h5 文件写入局域势(静电势和交换关联势之和)数据,当potential.type = all, potental.h5 文件同时写入两种势;

案例: potential.type = all


参数名称: corr.chargedSystem

默认值: false

可选值: false/true

描述: corr.chargedSystem 表示当计算带电体系时,可以设置该参数修正带电块体体系的能量;

案例: corr.chargedSystem = true


参数名称: corr.dipol

默认值: false

可选值: false/true

描述: corr.dipol 表示引入人为的势场(偶极修正)来修正真空电势不平整的问题;

案例: corr.dipol = true


参数名称: corr.dipolDirection

默认值:

可选值: a/b/c/all

描述: corr.dipolDirection 表示偶极修正的方向,a/b/c分别表示三个晶格常数的方向,all表示所有方向,适用于孤立分子计算;

案例: corr.dipolDirection = c


参数名称: corr.dipolPosition

默认值:

可选值: 3*1 real array

描述: corr.dipolPosition 表示偶极子在晶胞的相对位置;

案例: corr.dipolPosition = [0.5, 0.5, 0.5]


参数名称: corr.dipolEfield

默认值: 0

可选值: real

描述: corr.dipolEfield 表示外加电场的大小,单位为eV/Å,该参数只在 corr.dipol = true 和设置 corr.dipolDirection 的情况下生效;

案例: corr.dipolEfield = 0.05


参数名称: corr.dftu

默认值: false

可选值: false/true

描述: corr.dftu 表示是否引入hubbard U来处理强关联体系;

案例: corr.dftu = true


参数名称: corr.dftuForm

默认值: 2

可选值: 1/2

描述: corr.dftuForm 表示选择哪一种DFT+U方法。1 对应 DFT+U+J 方法 (Liechtenstein’s formulation),2 对应 DFT+U 方法 (Dudarev’s formulation) ;

案例: corr.dftuForm = 2


参数名称: corr.dftuElements

默认值:

可选值: n*1 string array

描述: corr.dftuElements 表示设置需要加U的元素;

案例: corr.dftuElements = [Ni,O]


参数名称: corr.dftuOrbital

默认值:

可选值: n*1 string array

描述: corr.dftuOrbital 表示设置选中元素上需要加U的轨道;

案例: corr.dftuOrbital = [d,s]


参数名称: corr.dftuU

默认值:

可选值: n*1 real array

描述: corr.dftuU 表示设置选中元素选中轨道上需要加U值的大小;

案例: corr.dftuU = [8,1]


参数名称: corr.dftuJ

默认值:

可选值: n*1 real array

描述: corr.dftuJ 表示设置选中元素选中轨道上需要加J值的大小;

案例: corr.dftuJ = [0.95,0]


参数名称: corr.VDW

默认值: false

可选值: false/true

描述: corr.VDW 表示是否引入范德瓦尔斯修正;

案例: corr.VDW = true


参数名称: corr.VDWType

默认值: D2G

可选值: D2G/D3G/D3BJ

描述: corr.VDWType 表示使用哪种范德瓦尔斯修正,D2G表示DFT-D2 of Grimme方法; D3G表示DFT-D3 of Grimme方法; D3BJ表示DFT-D3 with Becke-Jonson damping方法;

案例: corr.VDWType = D3G


参数名称: corr.coreEnergy

默认值: false

可选值: true/false

描述: corr.coreEnergy 表示设置是否用初态近似计算芯电子能级;

案例: corr.coreEnergy = true


参数名称: pcharge.bandIndex

默认值:

可选值: n*1 int array

描述: pcharge.bandIndex 表示部分电荷密度计算时能带的序号;

案例: pcharge.bandIndex = [1,3,4]


参数名称: pcharge.kpointsIndex

默认值:

可选值: n*1 int array

描述: pcharge.kpointsIndex 表示部分电荷密度计算时K点的序号;

案例: pcharge.kpointsIndex = [12,14]


参数名称: pcharge.sumK

默认值: false

可选值: false/true

描述: pcharge.sumK 表示计算部分电荷密度之后保存数据是否将所有K点,不同能带的数据相加;

案例: pcharge.sumK = true


参数名称: neb.springK

默认值: 5

可选值: real

描述: neb.springK 表示过渡态计算中弹簧系数K;

案例: neb.springK = 7


参数名称: neb.images

默认值:

可选值: int

描述: neb.images 表示过渡态计算中的中间结构的数目;

案例: neb.images = 5


参数名称: neb.iniFin

默认值: false

可选值: true/false

描述: neb.iniFin 表示过渡态计算中初态结构和末态结构是否进行自洽计算,true表示进行自洽计算;

案例: neb.iniFin = true


参数名称: neb.method

默认值: QN

可选值: LBFGS/CG/QM/QN/QM2/FIRE

描述: neb.method 表示过渡态计算中使用的算法;

案例: neb.method = QN


参数名称: neb.freedom

默认值: atom

可选值: atom/all

描述: neb.freedom 表示过渡态计算中弛豫的自由度,可以选择只弛豫原子,也可放开晶胞进行弛豫;

案例: neb.freedom = all


参数名称: neb.convergenceType

默认值: force

可选值: force/energy

描述: neb.convergenceType 表示过渡态计算中收敛标准的选择,选用LBFGS/CG/QM2/FIRE方法时只能以力作为收敛判据;

案例: neb.convergenceType = energy


参数名称: neb.convergence

默认值: 0.1/1e-4

可选值: real

描述: neb.convergence 表示过渡态计算中受力或能量的收敛标准;选择力为收敛标准时默认值为0.1,选择能量为收敛标准时默认值为1e-4;

案例: neb.convergence = 0.01


参数名称: neb.stepRange

默认值: 0.1

可选值: real

描述: neb.stepRange 表示过渡态计算中结构弛豫的步长;

案例: neb.stepRange = 0.01


参数名称: neb.max

默认值: 60

可选值: int

描述: neb.max 表示过渡态计算中结构弛豫的最大步数;

案例: neb.max = 300


参数名称: frequency.dispOrder

默认值: 1

可选值: 1/2

描述: frequency.dispOrder 表示频率计算时原子振动的方式,1对应中心差分法,有两种振动方式,2对应四种振动方式;

案例: frequency.dispOrder = 2


参数名称: frequency.dispRange

默认值: 0.01

可选值: real

描述: frequency.dispRange 表示频率计算时的原子位移;

案例: frequency.dispRange = 0.05


参数名称: phonon.structureSize

默认值: [1,1,1]

可选值: 3*1 int array

描述: phonon.structureSize 表示声子计算时超胞的大小;

案例: phonon.structureSize = [2,2,2]


参数名称: phonon.method

默认值: fd

可选值: fd/dfpt

描述: phonon.method 表示声子计算的方式;fd为有限位移法;dfpt为密度泛函微扰理论方法;

案例: phonon.method = dfpt


参数名称: phonon.type

默认值: phonon

可选值: phonon/band/dos/bandDos

描述: phonon.type 表示声子计算哪些性质:phonon对应计算力常数矩阵或force set;band对应计算声子能带;dos对应计算声子态密度;bandDos对应计算声子能带及声子态密度;

案例: phonon.type = bandDos


参数名称: phonon.isDisplacement

默认值: true

可选值: true/false

描述: phonon.isDisplacement 表示fd方法计算声子计算时是否进行位移;

案例: phonon.isDisplacement = true


参数名称: phonon.fdDisplacement

默认值: 0.01

可选值: real

描述: phonon.fdDisplacement 表示fd方法计算声子计算时进行位移的大小;

案例: phonon.fdDisplacement = 0.05


参数名称: phonon.iniPhonon

默认值:

可选值: 指定phonon.h5的路径

描述: phonon.iniPhonon 表示声子能带或态密度计算时读取力常数矩阵或force set时的路径;

案例: phonon.iniPhonon = ../phonon/phonon.h5


参数名称: phonon.qsamping

默认值: MP

可选值: MP/G

描述: phonon.qsamping 表示计算声子时布里渊区q点采样方法,Monkhorst-Pack 方法/ Gamma centered 方法;

案例: phonon.qsamping = G


参数名称: phonon.qpoints

默认值: [1,1,1]

可选值: 3*1 int array

描述: phonon.qpoints 表示声子计算时Q空间网格取样大小;

案例: phonon.qpoints = [9,9,9]


参数名称: phonon.qpointsLabel

默认值:

可选值: n*1 string array

描述: phonon.qpointsLabel 表示声子能带计算时高对称点标签;

案例: phonon.qpointsLabel = [G,M,K,G]


参数名称: phonon.qpointsCoord

默认值:

可选值: 3n*1 real array

描述: phonon.qpointsCoord 表示声子能带计算时高对称点坐标;

案例: phonon.qpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0]


参数名称: phonon.qpointsNumber

默认值: 51

可选值: int

描述: phonon.qpointsNumber 表示声子能带相邻两个高对称点的间隔;

案例: phonon.qpointsNumber = 100


参数名称: phonon.primitiveUVW

默认值: [1,0,0,0,1,0,0,0,1]

可选值: 9*1 real array

描述: phonon.primitiveUVW 声子能带计算时,超胞的晶格常数乘上UVW系数等于原胞的晶格矢量;

案例: phonon.primitiveUVW = [1,0,0,0,1,0,0,0,1]


参数名称: phonon.dosRange

默认值: [0, 40]

可选值: 2*1 real array

描述: phonon.dosRange 表示声子态密度计算能量的区间;

案例: phonon.dosRange = [-15,15]


参数名称: phonon.dosResolution

默认值: 0.1

可选值: real

描述: phonon.dosResolution 表示声子态密度计算能量间隔精度;

案例: phonon.dosResolution = 0.01


参数名称: phonon.dosSigma

默认值: 0.1

可选值: real

描述: phonon.dosSigma 表示声子态密度计算时的展宽;

案例: phonon.dosSigma = 0.1


参数名称: phonon.dfptEpsilon

默认值: false

可选值: false/true

描述: phonon.dfptEpsilon 是phonon.method = dfpt时控制介电常数计算的开关;

案例: phonon.dfptEpsilon = true


参数名称: phonon.nac

默认值: phonon.dfptEpsilon = true 时默认为true

可选值: false/true

描述: 当phonon.dfptEpsilon = true时,若计算能带和态密度,phonon.nac作为是否使用non-analytical term correction的开关;

案例: phonon.nac = false


参数名称: phonon.thermal

默认值: false

可选值: false/true

描述: phonon.thermal 是 task=phonon且phonon.type=dos或phonon.type=bandDos时控制热力学性质计算的开关;

案例: phonon.thermal = true


参数名称: phonon.thermalRange

默认值: [0,1200,10]

可选值: 3*1 real array

描述: phonon.thermalRange [min_T, max_T, ΔT]表示热力学性质计算时温度的选取范围以及数据存储间隔;

案例: phonon.thermalRange = [0,1000,10]


参数名称: phonon.eigenVectors

默认值: false

可选值: false/true

描述: phonon.eigenVectors 控制是否输出dynamical matrix的本征矢量。phonon.eigenVectors=true,将在phonon输出文件的BandInfo下增加EigenVectors的输出;其中EigenVectors>Size给出dynamical matirx本征矢量矩阵的大小(大小为:[NumberOfQPoints,(NumberOfAtoms*3),NumberOfBand,(real,imag)]),EigenVectors>RowMajor表示是否以行优先模式输出,EigenVectors>Values给出本征矢量矩阵的值;

案例: phonon.eigenVectors = true


参数名称: elastic.dispOrder

默认值: 1

可选值: 1/2

描述: elastic.dispOrder 表示弹性常数计算时原子振动的方式,1对应中心差分法,有两种振动方式,2对应四种振动方式;

案例: elastic.dispOrder = 1


参数名称: elastic.dispRange

默认值: 0.01

可选值: real

描述: elastic.dispRange 表示弹性常数计算时的原子位移;

案例: elastic.dispRange = 0.05


参数名称: aimd.ensemble

默认值: NVE

可选值: NVE/NVT/NPT/NPH/SA

描述: aimd.ensemble 表示分子动力学模拟时选用的系综;SA为Simulated Annealing缩写,对应模拟退火过程;

案例: aimd.ensemble = NVE


参数名称: aimd.thermostat

默认值: 取决于 aimd.ensemble

可选值: andersen/noseHoover/langevin

描述: aimd.thermostat 表示分子动力学模拟时选用的恒温器或恒压器;

案例: aimd.thermostat = andersen

Thermostat/Ensemble

NVE

NVT

NPT

NPH

SA

andersen

compatible*

compatible

incompatible

incompatible

incompatible

noseHoover

incompatible

compatible*

incompatible

incompatible

incompatible

langevin

incompatible

compatible

compatible*

compatible*

incompatible

Note: * denotes default thermostat


参数名称: aimd.andersenProb

默认值: aimd.ensemble = NVE 时默认值为0

可选值: NVE 时可选值为0,NVT 时可选值为 real (0 < x ≤ 1)

描述: aimd.andersenProb 控制Andersen恒温器下原子受到“碰撞”的概率;

案例: aimd.andersenProb = 0


参数名称: aimd.noseMass

默认值: 0

可选值: real (x ≥ 0)

描述: aimd.noseMass 控制Nose-Hoover恒温器的有效质量;

案例: aimd.noseMass = 0


参数名称: aimd.latticeFCoeff

默认值: aimd.ensemble = NPH 时默认值为0

可选值: NPH 时可选值为0,NPT 时可选值为 real (x > 0)

描述: aimd.latticeFCoeff 表示NPT/NPH系综下langevin恒温器中的晶胞摩擦系数大小,单位 ps-1;

案例: aimd.latticeFCoeff = 10


参数名称: aimd.atomFCoeffElements

默认值:

可选值: n*1 string array

描述: aimd.atomFCoeffElements 表示选用langevin恒温器时考虑为langevin原子的元素名称,命名规则为 “原元素名 +下划线 + 自定义字段” ,如命名为 Hf_1,structure.as文件需同步修改元素名;

案例: aimd.atomFCoeffElements = [Hf_1,O_1]


参数名称: aimd.atomFCoeffs

默认值:

可选值: n*1 string array

描述: aimd.atomFCoeffs 表示选用langevin恒温器时考虑为langevin原子对应的摩擦系数,单位 ps-1。该数值应与aimd.atomFCoeffElements给出的元素名对应,如下案例表示为Hf_1原子赋值10,为O_1原子赋值5;

案例: aimd.atomFCoeffElements = [Hf_1,O_1], aimd.atomFCoeffs = [10,5]


参数名称: aimd.latticeMass

默认值: 1000

可选值: real

描述: aimd.latticeMass 表示选用langevin恒压器进行NPT/NPH模拟时晶胞自由度的虚拟质量,单位 amu

案例: aimd.latticeMass = 1000


参数名称: aimd.pressure

默认值: 0

可选值: real

描述: aimd.pressure 表示进行NPT/NPH模拟时体系的目标压强值,单位 kbar

案例: aimd.pressure = 1000


参数名称: aimd.iniTemp

默认值: 0

可选值: real

描述: aimd.iniTemp 表示分子动力学模拟时的初始温度,单位 K ;

案例: aimd.iniTemp = 1000


参数名称: aimd.finTemp

默认值: aimd.iniTemp

可选值: real

描述: aimd.finTemp 表示分子动力学模拟时的末态温度,该参数只在 aimd.ensemble = SA 时生效,单位 K ;

案例: aimd.finTemp = 1000


参数名称: aimd.timeStep

默认值: 1

可选值: real

描述: aimd.timeStep 表示分子动力学模拟时的时间步长,单位 fs ;

案例: aimd.timeStep = 1


参数名称: aimd.totalSteps

默认值:

可选值: real

描述: aimd.totalSteps 表示分子动力学模拟的总步数;

案例: aimd.totalSteps = 10000


参数名称: wannier.functions

默认值:

可选值: int

描述: wannier.functions 表示wannier函数的个数;

案例: wannier.functions = 8


参数名称: wannier.wannMaxIter

默认值: 200

可选值: int

描述: wannier.wannMaxIter 表示在求解最大局域化wannier函数过程中的总迭代次数;

案例: wannier.wannMaxIter = 500


参数名称: wannier.disMaxIter

默认值: 100

可选值: int

描述: wannier.disMaxIter 表示解纠缠的最大迭代步数;

案例: wannier.disMaxIter = 200


参数名称: wannier.disWin

默认值: [自洽计算所得哈密顿量最低本征值, 最高本征值]

可选值: 2*1 array

描述: wannier.disWin 表示解纠缠的能量窗口,默认包含所有能带;

案例: wannier.disWin = [-1000,1000]


参数名称: wannier.disFrozWin

默认值:

可选值: 2*1 array

描述: wannier.disFrozWin 表示解纠缠窗口,解纠缠时,该窗口中的态将保持不变;

案例: wannier.disFrozWin = [-10,10]


参数名称: wannier.disEfShift

默认值: false

可选值: true/false

描述: wannier.disEfShift 表示wannier.disWin和wannier.disFrozWin输入的能量是否是Ef=0;

案例: wannier.disEfShift = true


参数名称: wannier.interpolatedBand

默认值: false

可选值: true/false

描述: wannier.interpolatedBand 表示 wannier 计算插值能带的开关;

案例: wannier.interpolatedBand = true


参数名称: wannier.kpointsLabel

默认值:

可选值: n*1 string array

描述: wannier.kpointsLabel 表示插值能带的高对称点标签;

案例: wannier.kpointsLabel = [G,M,K,G]


参数名称: wannier.kpointsCoord

默认值:

可选值: 3n*1 real array

描述: wannier.kpointsCoord 表示插值能带高对称点的分数坐标;

案例: wannier.kpointsCoord = [0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0]


参数名称: wannier.kpointsNumber

默认值:

可选值: (n-1)*1 int array/ 1*1 int array

描述: 该参数只有在插值能带计算时生效; wannier.kpointsNumber 为能带每相邻两个高对称点间的K点个数

  • 当参数长度为(n-1)*1 int array 时 wannier.kpointsNumberwannier.kpointsNumber 数据大小少 1

  • 当参数长度为 1*1 int array 时,以给定参数为基准,对所有高对称点进行等密度撒点,等密的最终撒点数可从DS-PAW.log的 wannier.kpointsNumber 读取;

案例: wannier.kpointsNumber = [100]


参数名称: wannier.kmeshTolerance

默认值: 1e-06

可选值: real

描述: wannier.kmeshTolerance 决定两个k点是否在同一壳层;

案例: wannier.kmeshTolerance = 1e-06


参数名称: wannier.outStep

默认值: 20

可选值: int

描述: wannier.outStep 表示task=wannier时输出wannier的信息的步数间隔;

案例: wannier.outStep = 50


标签名称: WannProj

默认值:

可选值: n*1 string array

描述: WannProj 为wannier计算中定义初始投影轨道的标签,用于 structure.as 中;

案例:

1  Total number of atoms
2  2
3  Lattice
4  0.00 2.75 2.75
5  2.75 0.00 2.75
6  2.75 2.75 0.00
7  Direct WannProj
8  Si -0.125000000 -0.125000000 -0.125000000  [s,p]
9  Si 0.125000000 0.125000000 0.125000000     [s,p]

备注

  1. WannProj 标签设置在 structure.as 文件的第 7 行

  2. 此例投影轨道总数为 2*(1+3)= 8 条

可选值范围: DS-PAW 共支持 44 种投影轨道名称,分二类,展示如下:

- 第一类:轨道简称,对应该类型轨道的总数目,两种关系见下表:

name

number of projections

[s]

1

[p]

3

[d]

5

[f]

7

[sp]

2

[sp2]

3

[sp3]

4

[sp3d]

5

[sp3d2]

6

- 第二类:特定轨道的名称,每种(每个数组,[ ])对应 1 条投影轨道:

[px] [py] [pz]

[dxy] [dyz] [dxz] [dz2] [dx2-y2]

[fz3] [fxz2] [fyz2] [fxyz] [fz(x2-y2)] [fx(x2-3y2)] [fy(3x2-y2)]

[sp-1] [sp-2]

[sp2-1] [sp2-2] [sp2-3]

[sp3-1] [sp3-2] [sp3-3] [sp3-4]

[sp3d-1] [sp3d-2] [sp3d-3] [sp3d-4] [sp3d-5]

[sp3d2-1] [sp3d2-2] [sp3d2-3] [sp3d2-4] [sp3d2-5] [sp3d2-6]

备注

  1. 当不定义初始轨道时(见 快速入门 2.30节),程序执行随机选择初始投影。